package com.example.springbootdemo.mall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;

/**
 *@author xuwangqi
 *@date 2021/5/24 9:28
 **/
/**
    * 支付成功信息表
    */
@ApiModel(value="com-example-springbootdemo-entity-PayInfo")
@TableName(value = "pay_info")
public class PayInfo {
    /**
     * 支付信息id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="支付信息id")
    private Long id;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    @ApiModelProperty(value="用户id")
    private Long userId;

    /**
     * 订单id
     */
    @TableField(value = "order_id")
    @ApiModelProperty(value="订单id")
    private Long orderId;

    /**
     * 订单编号(对外业务号)
     */
    @TableField(value = "order_no")
    @ApiModelProperty(value="订单编号(对外业务号)")
    private String orderNo;

    /**
     * 支付平台 微信 支付宝  银联  货到付款
     */
    @TableField(value = "pay_platform")
    @ApiModelProperty(value="支付平台 微信 支付宝  银联  货到付款")
    private String payPlatform;

    /**
     * 交易流水号
     */
    @TableField(value = "transaction_id")
    @ApiModelProperty(value="交易流水号")
    private String transactionId;

    /**
     * 交易状态
     */
    @TableField(value = "transaction_status")
    @ApiModelProperty(value="交易状态")
    private String transactionStatus;

    /**
     * 交易总金额
     */
    @TableField(value = "total_amount")
    @ApiModelProperty(value="交易总金额")
    private BigDecimal totalAmount;

    /**
     * 用户支付金额
     */
    @TableField(value = "pay_amount")
    @ApiModelProperty(value="用户支付金额")
    private BigDecimal payAmount;

    /**
     * 订单中需要支付的金额用来比较支付金额是否准确
     */
    @TableField(value = "order_amount")
    @ApiModelProperty(value="订单中需要支付的金额用来比较支付金额是否准确")
    private BigDecimal orderAmount;

    /**
     * 交易时间
     */
    @TableField(value = "transaction_time")
    @ApiModelProperty(value="交易时间")
    private Date transactionTime;

    @TableField(value = "gmt_create")
    @ApiModelProperty(value="")
    private Date gmtCreate;

    public static final String COL_ID = "id";

    public static final String COL_USER_ID = "user_id";

    public static final String COL_ORDER_ID = "order_id";

    public static final String COL_ORDER_NO = "order_no";

    public static final String COL_PAY_PLATFORM = "pay_platform";

    public static final String COL_TRANSACTION_ID = "transaction_id";

    public static final String COL_TRANSACTION_STATUS = "transaction_status";

    public static final String COL_TOTAL_AMOUNT = "total_amount";

    public static final String COL_PAY_AMOUNT = "pay_amount";

    public static final String COL_ORDER_AMOUNT = "order_amount";

    public static final String COL_TRANSACTION_TIME = "transaction_time";

    public static final String COL_GMT_CREATE = "gmt_create";

    /**
     * 获取支付信息id
     *
     * @return id - 支付信息id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置支付信息id
     *
     * @param id 支付信息id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取用户id
     *
     * @return user_id - 用户id
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户id
     *
     * @param userId 用户id
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取订单id
     *
     * @return order_id - 订单id
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 设置订单id
     *
     * @param orderId 订单id
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取订单编号(对外业务号)
     *
     * @return order_no - 订单编号(对外业务号)
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 设置订单编号(对外业务号)
     *
     * @param orderNo 订单编号(对外业务号)
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 获取支付平台 微信 支付宝  银联  货到付款
     *
     * @return pay_platform - 支付平台 微信 支付宝  银联  货到付款
     */
    public String getPayPlatform() {
        return payPlatform;
    }

    /**
     * 设置支付平台 微信 支付宝  银联  货到付款
     *
     * @param payPlatform 支付平台 微信 支付宝  银联  货到付款
     */
    public void setPayPlatform(String payPlatform) {
        this.payPlatform = payPlatform;
    }

    /**
     * 获取交易流水号
     *
     * @return transaction_id - 交易流水号
     */
    public String getTransactionId() {
        return transactionId;
    }

    /**
     * 设置交易流水号
     *
     * @param transactionId 交易流水号
     */
    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    /**
     * 获取交易状态
     *
     * @return transaction_status - 交易状态
     */
    public String getTransactionStatus() {
        return transactionStatus;
    }

    /**
     * 设置交易状态
     *
     * @param transactionStatus 交易状态
     */
    public void setTransactionStatus(String transactionStatus) {
        this.transactionStatus = transactionStatus;
    }

    /**
     * 获取交易总金额
     *
     * @return total_amount - 交易总金额
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置交易总金额
     *
     * @param totalAmount 交易总金额
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取用户支付金额
     *
     * @return pay_amount - 用户支付金额
     */
    public BigDecimal getPayAmount() {
        return payAmount;
    }

    /**
     * 设置用户支付金额
     *
     * @param payAmount 用户支付金额
     */
    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    /**
     * 获取订单中需要支付的金额用来比较支付金额是否准确
     *
     * @return order_amount - 订单中需要支付的金额用来比较支付金额是否准确
     */
    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    /**
     * 设置订单中需要支付的金额用来比较支付金额是否准确
     *
     * @param orderAmount 订单中需要支付的金额用来比较支付金额是否准确
     */
    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    /**
     * 获取交易时间
     *
     * @return transaction_time - 交易时间
     */
    public Date getTransactionTime() {
        return transactionTime;
    }

    /**
     * 设置交易时间
     *
     * @param transactionTime 交易时间
     */
    public void setTransactionTime(Date transactionTime) {
        this.transactionTime = transactionTime;
    }

    /**
     * @return gmt_create
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }
}